{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "pd.set_option('display.max_columns', 50)\n",
    "pd.set_option('display.max_rows', 500)\n",
    "\n",
    "from sklearn.metrics import roc_curve, auc\n",
    "from sklearn.metrics import accuracy_score\n",
    "\n",
    "from sklearn.model_selection import GridSearchCV"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# load data\n",
    "data_train = pd.read_csv('engineered_data_train.csv')\n",
    "data_test = pd.read_csv('engineered_data_test.csv')\n",
    "\n",
    "X_train = data_train.drop('Y', axis=1)\n",
    "y_train = data_train['Y']\n",
    "\n",
    "X_test = data_test.drop('Y', axis=1)\n",
    "y_test = data_test['Y']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn import preprocessing\n",
    "\n",
    "def normalize(df):\n",
    "    data = df.copy()\n",
    "    feature_num = data.shape[1] - 1\n",
    "    \n",
    "    # recale features\n",
    "    normalized_values = preprocessing.scale(data.iloc[:, :feature_num].values)\n",
    "    for i in range(feature_num):\n",
    "        data.iloc[:, i] = normalized_values[:, i]\n",
    "    \n",
    "    data_clean = data\n",
    "    return data_clean\n",
    "\n",
    "# scale data\n",
    "X_train_scaled = normalize(X_train)\n",
    "X_test_scaled = normalize(X_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Logistic Regression (L2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "//anaconda3/lib/python3.6/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
      "  FutureWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy:  0.6763662171753017\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "lr = LogisticRegression(penalty='l2', C=1e30)\n",
    "lr.fit(X_train.values, y_train.values)\n",
    "\n",
    "preds_lr = lr.predict_proba(X_test.values)[:, 1]\n",
    "fpr_lr, tpr_lr, _ = roc_curve(y_test.values, preds_lr)\n",
    "auc_lr = auc(fpr_lr, tpr_lr)\n",
    "\n",
    "accuracy_lr = accuracy_score(y_test, lr.predict(X_test))\n",
    "print('Accuracy: ', accuracy_lr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x12bd1e588>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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QtWqVfn4449JTk6+7/dyJ6mpqfTp04e8efPi5+dHs2bNOHLkyB1fd+nSJd58802KFSuGxWKhTJkyTJgwAa31DetGRUVRvnx5fHx8yJcvH+3bt7/u+R9++IG2bdtSoEABlFLMnDnzhm2MGzeOBg0a3OvbfCCk+J0oKSmJQYMGUbFiRd5++20g/X+g7PABIdxLs2bNWL9+faYPhvz333957733bij+u93O7fTp04f169ezdOlSnnzySQYOHMiYMWPue7vZ0ZAhQ276oe9skydPplixYtStW/eG52bPng2knzZ87Nix+/o+ycnJNGzYkJEjR9KqVSsWLlzIokWLaNmyJWPHjiUqKuq+tp8Zr7/+OjNnzmTcuHHMmzePmJgYGjVqREpKym1f16VLF7777jsGDRrEkiVLaNeuHW+//TYTJky4br13332X/v3706VLF5YvX87kyZNv+EV+3rx5HDlyhObNm9/y+73yyits3bqV1atX3/N7vW9aa5f/45W/pM7uFi5cqIsWLaoB/cILL+izZ88aHcml7Nmzx+gI923YsGE6ODjY6Bg3tXjxYg3ow4cPZ8n2AT158uTrljVu3FiXKlUqS77fzSQlJTnte2UHdrtdFy5cWEdFRd3wXFpams6TJ49+/PHHNaDHjh17wzpFixbVffr0uem2g4OD9bBhwzIev/3229piseidO3fesO6FCxf0unXr7v2NZMLx48e12WzWX3/9dcayEydOaE9PTz1jxoxbvi4xMVGbTCY9adKk65a3adNGV6tWLePxrl27tMlk0itWrLhtDrvdrrXWOiEhQQP6q6++uul6L730km7btu2d3tZtP/eAzfoeO1NG/E4we/ZsWrVqhb+/P2vWrGHmzJnkzZvX6FgiGzp8+DCtW7cmV65cBAQE0KJFCw4cOHDdOrGxsXTo0AE/Pz8KFizI2LFj6du3L8WKFctY52ZT9KNHj6ZkyZIZ05RNmjThzJkzrF69mhYtWgBQvHhxlFIZ27rZdpKTk+nfvz9FixbF29ub4sWL884779z1e61UqRLHjx+/YfnChQuJjIzEx8eH/Pnz079//xuObv7xxx8pVaoUvr6+1K9fn23btt0wtVqsWDH69OnD+++/T6FCha47LWrt2rXUrVsXi8VCcHAw3bp1IyEhIeP5uLg4Xn75ZQoWLIiPjw9FihShW7duGc+fOHGCZ555hrx58+Lr68tDDz3EkCFDMp6/2VT/9u3badCgARaLhdy5c/Pss89y9uzZjOePHDmCUoq5c+fyyiuvEBgYSKFChRg2bBgOh+Ou/33/+OMPTp48Sdu2bW94bsWKFVy8eJEBAwZQo0aNjNH/vUhKSuKzzz7j1VdfpXz58jc8nydPHmrWrHnP28+MFStWAFz3XsPCwqhduza//vrrLV9nt9txOBwEBgZetzwoKOi6qf6vv/6akiVL0qhRo9vmMJkyV6lPPfUUS5Ys4eLFi5la/0GT4s8iqampREdHA+k/jNOmTWPbtm3UqVPH4GQiu0pNTaVBgwbs3buXGTNmMHPmTA4fPkzdunWv+4Do0qULv/32GxMnTiQqKooVK1bwww8/3Hbb33zzDaNGjeLtt99m+fLlTJs2jZIlS5KYmEjlypUZN24cAPPnz2f9+vX8/PPPN92O1ppWrVoxbdo0evbsydKlS3nvvfeIiYm56/d77Ngxihcvft2yuXPn0rZtW6pVq8aiRYsYNmwYUVFR1/1isXnzZjp06EDlypX5+eefadmy5Q37Wq+aNWsWa9as4dNPP834N1q3bh0NGzYkf/78zJs3jwkTJrB06VK6du2a8bq3336bv/76i/Hjx7N8+XJGjRp13UG3zz//PMePHycqKopff/2VwYMHk5qaesv3ev78eerVq0dSUhKzZs1i8uTJrFmzhkaNGpGWlnbduv3798ff35958+bx3HPPMWLECObNm5fx/NVfEO60K2HlypWULl2a4ODgG56bPXs2oaGhNGjQgI4dO7J9+/aMz6u7tWXLFhITE2nSpMk9vV5rjc1mu+Of24mOjqZQoUI3nP5cpkyZ276vgIAAnnnmGT788EO2b99OQkICS5YsYe7cufTs2TNjvf/973+UL18+4zgdb29vGjZsyN69e+/pPdeoUQOr1cratWvv6fX37V6nCrLTn+w21f/777/r8PBwXbhwYZ2cnGx0HLeQE6b6p02bps1msz548GDGsuPHj2tPT089atQorbXWO3fu1ICeO3duxjpJSUk6ODhYFy1aNGPZV199pQGdkJCgtda6Z8+et51avNVU/3+3s2zZMg3ohQsXZvp9a50+1T9x4kRttVr1pUuX9KxZs7SXl5eePXt2xjoOh0MXKVJEd+nS5brXfvHFF9rHx0fHxMRorbVu166dLleunHY4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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot ROC\n",
    "fig = plt.figure(figsize = (8, 5))\n",
    "ax = plt.subplot(111)\n",
    "\n",
    "plt.plot(fpr_lr, tpr_lr, label='Logistic Regression: ' + '(AUC = %0.3f)'%auc_lr)\n",
    "plt.plot([0,1], [0,1], 'k--')\n",
    "\n",
    "plt.xlim([0.0, 1.0])\n",
    "plt.ylim([0.0, 1.0])\n",
    "plt.xlabel('FPR',fontsize=15)\n",
    "plt.ylabel('TPR',fontsize=15)\n",
    "plt.legend(fontsize=15)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Logistic Regression (L2) with Cross Validation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5, error_score='raise-deprecating',\n",
       "             estimator=LogisticRegression(C=1.0, class_weight=None, dual=False,\n",
       "                                          fit_intercept=True,\n",
       "                                          intercept_scaling=1, l1_ratio=None,\n",
       "                                          max_iter=1000, multi_class='warn',\n",
       "                                          n_jobs=None, penalty='l2',\n",
       "                                          random_state=None, solver='lbfgs',\n",
       "                                          tol=0.0001, verbose=0,\n",
       "                                          warm_start=False),\n",
       "             iid='warn', n_jobs=None,\n",
       "             param_grid={'C': [1e-08, 1e-07, 1e-06, 1e-05, 0.0001, 0.001, 0.01,\n",
       "                               0.1, 1.0, 10.0, 100.0]},\n",
       "             pre_dispatch='2*n_jobs', refit=False, return_train_score=False,\n",
       "             scoring=['accuracy', 'roc_auc', 'f1', 'recall'], verbose=0)"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# parameters = {'C': [10**n for n in np.arange(-8, 3, dtype=float)]}\n",
    "cs = [10**n for n in np.arange(-8, 3, dtype=float)]\n",
    "parameters = {'C': cs}\n",
    "\n",
    "# scores\n",
    "# def tn(y_true, y_pred): return confusion_matrix(y_true, y_pred)[0, 0]\n",
    "# def fp(y_true, y_pred): return confusion_matrix(y_true, y_pred)[0, 1]\n",
    "# def fn(y_true, y_pred): return confusion_matrix(y_true, y_pred)[1, 0]\n",
    "# def tp(y_true, y_pred): return confusion_matrix(y_true, y_pred)[1, 1]\n",
    "scores = ['accuracy', 'roc_auc', 'f1', 'recall', ]\n",
    "\n",
    "lr = LogisticRegression(solver='lbfgs', max_iter=1000)\n",
    "lr_grid = GridSearchCV(lr, parameters, cv=5, scoring=scores, refit=False, verbose=1)\n",
    "lr_grid.fit(X_train.values, y_train.values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['mean_fit_time', 'std_fit_time', 'mean_score_time', 'std_score_time', 'param_C', 'params', 'split0_test_accuracy', 'split1_test_accuracy', 'split2_test_accuracy', 'split3_test_accuracy', 'split4_test_accuracy', 'mean_test_accuracy', 'std_test_accuracy', 'rank_test_accuracy', 'split0_test_roc_auc', 'split1_test_roc_auc', 'split2_test_roc_auc', 'split3_test_roc_auc', 'split4_test_roc_auc', 'mean_test_roc_auc', 'std_test_roc_auc', 'rank_test_roc_auc', 'split0_test_f1', 'split1_test_f1', 'split2_test_f1', 'split3_test_f1', 'split4_test_f1', 'mean_test_f1', 'std_test_f1', 'rank_test_f1', 'split0_test_recall', 'split1_test_recall', 'split2_test_recall', 'split3_test_recall', 'split4_test_recall', 'mean_test_recall', 'std_test_recall', 'rank_test_recall'])"
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr_grid.cv_results_.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The Best c is:  3\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Log10(c)')"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot\n",
    "cs_mean = lr_grid.cv_results_['mean_test_roc_auc']\n",
    "cs_std = lr_grid.cv_results_['std_test_roc_auc']\n",
    "cs_ste = cs_std / np.sqrt(len(cs))\n",
    "c_max_mean = np.where(cs_mean==cs_mean.max())[0][0]\n",
    "print('The Best c is: ', c_max_mean)\n",
    "max_1std = cs_mean[c_max_mean] - cs_ste[c_max_mean]\n",
    "\n",
    "fig = plt.figure(figsize = (15, 8))\n",
    "ax = plt.subplot(111)\n",
    "plt.plot(np.log10(cs), cs_mean)\n",
    "plt.plot(np.log10(cs), cs_mean-2*cs_ste, 'k+')\n",
    "plt.plot(np.log10(cs), cs_mean+2*cs_ste, 'k--')\n",
    "plt.plot([np.log10(cs)[0], np.log10(cs)[-1]], [max_1std, max_1std], 'r')\n",
    "\n",
    "# plt.ylim([0.5, 0.9])\n",
    "plt.xticks(np.log10(cs))\n",
    "plt.xlabel('Log10(c)',fontsize=12)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy:  0.7015170333569908\n"
     ]
    }
   ],
   "source": [
    "# retrain a logistic regression with C=1e-5 with all training data\n",
    "lr = LogisticRegression(penalty='l2', C=1e-5, solver='lbfgs', max_iter=1000)\n",
    "lr.fit(X_train.values, y_train.values)\n",
    "\n",
    "preds_lr = lr.predict_proba(X_test.values)[:, 1]\n",
    "fpr_lr, tpr_lr, _ = roc_curve(y_test.values, preds_lr)\n",
    "auc_lr = auc(fpr_lr, tpr_lr)\n",
    "\n",
    "accuracy_lr = accuracy_score(y_test, lr.predict(X_test))\n",
    "print('Accuracy: ', accuracy_lr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x12ce7c198>"
      ]
     },
     "execution_count": 119,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Dk2bNiVLliysX7+eWbNmkTt3bqNjCTt07NgxmjVrRrZs2ciaNSuNGzcmKirqtmXi4uJo1aoVXl5e5MuXjzFjxtC7d28CAgLSlrnXEP3o0aMJDAxMG6asX78+MTExrFu3jsaNGwNQuHBhlFJp67rXehITE+nbty+FChXCw8ODwoUL89FHHz3yew0NDeXUqVN3TV+8eDFhYWFkzpyZPHny0Ldv37uObv75558pWrQonp6e1KpVi127dqGUYtasWWnLBAQE0KtXLz755BP8/f1vOy1q48aN1KhRA5PJhLe3Nx07duTatWtp8y9fvsw777xDvnz5yJw5MwULFqRjx45p86Ojo3nttdfInTs3np6ePPfccwwePDht/r2G+nfv3k14eDgmk4mcOXPStm1bYmNj0+YfP34cpRTz5s3j3XffJXv27Pj7+zNkyBCsVusjf3/XrFnD6dOnefnll++at3LlSi5dukS/fv2oXLly2tb/40hISODLL7/kvffeIyQk5K75uXLlokqVKo+9/oexcuVKgNvea/78+alWrRq///77fZ9nsViwWq1kz579tuk5cuS4baj/u+++IzAwkDp16tx3XVeuXGHBggV06dIFF5f0q/WVV17h119/5dKlS+ku96xI8T8jycnJREZGAqk/jNOnT2fXrl1Ur17d4GTCXiUnJxMeHs7BgweZOXMms2bN4tixY9SoUeO2D4j27dvzxx9/MGnSJCIiIli5ciU//fRTuuv+/vvvGTVqFB9++CErVqxg+vTpBAYGEh8fT9myZRk3bhwACxYsYPPmzSxcuPCe69Fa07RpU6ZPn07Xrl1ZtmwZw4YN48KFC4/8fk+ePEnhwoVvmzZv3jxefvllKlSowJIlSxgyZAgRERG3/WGxfft2WrVqRdmyZVm4cCFNmjS5575WgNmzZ7N+/XqmTZuW9j36888/qV27Nnny5GH+/PlMnDiRZcuW0aFDh7Tnffjhh2zatIkJEyawYsUKRo0addtBt2+88QanTp0iIiKC33//nYEDB5KcnHzf93r+/Hlq1qxJQkICs2fPZvLkyaxfv546depw48aN25bt27cvWbJkYf78+bz++usMHz6c+fPnp83/7w+EW//IuZfVq1dTrFgxvL2975o3Z84cfH19CQ8Pp3Xr1uzevTvt8+pR7dixg/j4eOrXr/9Yz9dak5KS8sCv9ERGRuLv73/X6c/FixdP931lzZqV1157jc8++4zdu3dz7do1fv31V+bNm0fXrl3Tlvv7778JCQlJO07Hw8OD2rVrc/DgwbRldu7cidlsRilF1apVcXNzw9/fn9GjR991vEDlypUxm81s3LjxUb5VT8/jDhXY05e9DfWvWrVKBwUF6QIFCujExESj4ziFjDDUP336dO3q6qqPHDmSNu3UqVPazc1Njxo1Smut9d69ezWg582bl7ZMQkKC9vb21oUKFUqb9u2332pAX7t2TWutddeuXdMdWrzfUP+d61m+fLkG9OLFix/6fWudOtQ/adIkbTab9dWrV/Xs2bO1u7u7njNnTtoyVqtVFyxYULdv3/6253799dc6c+bM+sKFC1prrVu0aKFLliyprVZr2jJjxozRgP7222/TphUqVEjnyZPnrt/BatWq6Zo1a942bfXq1RpIG6ouWbLkXcO/t/Ly8tJLliy57/w333xTlytXLu1xv379dPbs2fWVK1fSpm3ZskUDevbs2VprrY8dO6YB3a5du9vWFRoaqlu2bJn2+Pjx43cNa99LnTp1dIsWLe6anpCQoLNkyaI7d+6stdY6JiZGu7q66o8//vi25R52qH/OnDka0JGRkenmuZ//fsYe9JWed955R4eGht41feDAgTpv3rzpPjcpKUm/8soraa+jlNKffvrpbcsUK1ZMZ8mSRRcvXlwvWLBAL1myRJcuXVoXLFgw7edr9uzZGtDZsmXT/fr102vWrNGDBw/WLi4ueurUqXe9bqFChfSAAQPSzfashvrl4L6n6OzZs/Tq1Ys5c+bw3HPPERERke5BJeLJDFu6nwNnrhry2iXyZWNI45JPdZ1bt26lbNmyFClSJG2av78/VatWZdOmTUDq1i6QNjQPqRf6qF27Nlu2bLnvusuUKcPXX3/NkCFDaNiwIeXKlcPV1fWRM65Zs4ZcuXLRpEmTR35ujx49bjvAq2fPnrRq1Srt8eHDhzl58iSvvfbabVt4L774IklJSezbt48aNWqwbds2WrdufdsWeJMmTejXr99drxkeHn7b72BCQgKbN29m8uTJt71GtWrVcHNzY8eOHYSEhFCmTBnGjh2Lq6srtWvXplixYrett0yZMnz00UdcvHiRF1988YEHxm3dupW6devetruhYsWKBAQEsGnTJlq3bp02vW7durc9t0SJEpw8eTLtcaFChR7qbIiYmJh73ttj6dKlXL9+Pe177+fnR82aNZkzZw7Dhg174Hrv53FPQ27cuDHbtm177Nd9Uj179uTvv//m22+/pUiRImzatClty/7tt98GUjeQ4+Pj+eWXXyhevDgAJUuWpFixYvz444+8/fbbaVv1DRo04NNPPwWgVq1aREdHM3r0aLp06XLb6/r4+BATE2PDd/r/ZKj/KTl8+DBBQUEsWLCAIUOGsG/fvsce+hIZ09mzZ/Hz87trup+fX9pQf0xMDFmzZr3rD0pfX9901/3WW28xatQo5s2bR8WKFfHz82PQoEFYLJZHynjx4kXy5s37SM/5T58+fdi2bRurVq2iUaNGTJgwgWXLlqXN/293wUsvvYSbm1va13+7A/47HiAmJuau93u/93/n9zMuLg6LxUKXLl1uew0PDw/MZnPaa0yZMoVmzZoxfPhwgoKCKFq0IGZehAAAEnFJREFUKHPnzk1bz08//URYWBg9e/akUKFClClThtWrV9/3vT/M/9v/3HnnTXd3d5KSku677vtJ+r/27j0qynrdA/j3QS7BiAp4QcE7BphoGoX3nZkVmpfVNrNVnV3LRG171pITruVRt+n2Uls8nvIsc3s5KYbbOJSpaGZInnSdpAx3uRIxL4GKF9wY6FJAge/5Y4bZzDDAoMyMwzyftd61Zt75zeszP8Z53svz/n7l5fDz86uzfvv27ejUqRNiYmJQUlKCkpISjB8/HqdPn0ZOTo65nbe3d73fj6qqKnh7G48bw8LCAMBi56QpgoOD8eijjza6NCQoKAilpaV11v/2228N3iZ9/PhxrFu3Dh999BFef/11jBw5EvPnz8ecOXOQlJRkrq0ICgpCp06dzEkfAHr16oUePXogNzfX3AYwJvvannrqKVy8eBE3blgepPj5+d3T37U5tIgjflcOd3Pt2jV06NABffr0wezZs/HGG2+gT58+LozIczT3Eberde7cGSdOnKiz/urVqwgODgYAhIaG4ubNmygvL7dI/teuXWtw215eXkhMTERiYiIuXLiAbdu2YcGCBQgPD8fMmTPtjjEkJASXL1+2u31t3bp1Mxe8jRw5EjExMZg7dy7i4+MhIubPuGHDBgwcOLDO+2t2AEJDQ+t83vo+v/VRaLt27SAiWLx4McaOHVunfZcuXczt1qxZgzVr1uD48eNYuXIlXnnlFfTv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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot ROC\n",
    "fig = plt.figure(figsize = (8, 5))\n",
    "ax = plt.subplot(111)\n",
    "\n",
    "plt.plot(fpr_lr, tpr_lr, label='Logistic Regression: ' + '(AUC = %0.3f)'%auc_lr)\n",
    "plt.plot([0,1], [0,1], 'k--')\n",
    "\n",
    "plt.xlim([0.0, 1.0])\n",
    "plt.ylim([0.0, 1.0])\n",
    "plt.xlabel('FPR',fontsize=15)\n",
    "plt.ylabel('TPR',fontsize=15)\n",
    "plt.legend(fontsize=15)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# SVM (Super SLOW! Ignore for now)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[LibSVM]"
     ]
    }
   ],
   "source": [
    "# from sklearn.svm import SVC\n",
    "\n",
    "# svm = SVC(kernel=\"linear\", probability=True, verbose=True)\n",
    "# svm.fit(X_train_scaled.values, y_train.values)\n",
    "\n",
    "# preds_svm = svm.predict_proba(X_test_scaled.values)[:, 1]\n",
    "\n",
    "# fpr_svm, tpr_svm, _ = roc_curve(y_test.values, preds_svm)\n",
    "# auc_svm = auc(fpr_svm, tpr_svm)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Decision Tree"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy:  0.7783002129169624\n"
     ]
    }
   ],
   "source": [
    "from sklearn.tree import DecisionTreeClassifier\n",
    "\n",
    "tree = DecisionTreeClassifier(criterion='entropy')\n",
    "tree.fit(X_train.values, y_train.values)\n",
    "\n",
    "preds_tree = tree.predict_proba(X_test.values)[:, 1]\n",
    "\n",
    "fpr_tree, tpr_tree, _ = roc_curve(y_test.values, preds_tree)\n",
    "auc_tree = auc(fpr_tree, tpr_tree)\n",
    "\n",
    "accuracy_tree = accuracy_score(y_test, tree.predict(X_test))\n",
    "print('Accuracy: ', accuracy_tree)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x12c4d1438>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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zZvRpUsXzJ49GyEhIU90/Px46623sHLlSsybNw8bNmzAnTt30KZNG8THx+f6un79+uGbb77BxIkTsXXrVvTs2RPvvPMOFixYYNgnKSkJ7dq1w+XLl7FmzRosXLgQ69evx8CBAzMda8OGDbh06RI6deqU4/nefPNNHDt2DD/99NMTvd8nIiJF/isoKEj+uR4lfuO2yva/b4g52rRpk/j5+QkAefXVV+X27dtal1SknDp1SusSntjUqVPFzc1N6zKytWXLFgEgFy9eNMrxAciiRYsybWvXrp1UqVLFKOfLTlxcnMnOZQ5SUlKkfPnyEhISkuW5xMREcXV1lVatWgkAmT17dpZ9/Pz8ZNSoUdke283NTaZOnWp4/M4774hOp5O///47y753796V3377reBvJB+uXr0qtra28uWXXxq2Xbt2Tezs7GTZsmU5vi42NlZsbGzkk08+ybS9e/fu8vTTTxser1q1SmxsbOTChQuGbWvXrhWllJw9e9awLSUlRUREYmJiBICsWLEi2/O+/vrr0qNHjzzfV24/9wAclQJmpsWM+M151b7Vq1eja9euKFmyJH7++WesXLkSZcqU0bosMkMXL15Et27dUKpUKTg5OaFz5844d+5cpn0iIyPx0ksvwdHREeXKlcPs2bMxevRo+Pv7G/bJ7hL9Bx98gMqVK6NEiRLw9PRE+/btcevWLfz000/o3LkzAKBChQpQShmOld1xHj58iLFjx8LPzw/FixdHhQoVMGHChMd+r7Vr18bVq1ezbN+0aROCg4NRokQJeHl5YezYsVlmN69fvx5VqlSBg4MDWrZsiT///DPLpVV/f3+MGjUK7733Hnx8fDK1RR04cADNmzeHTqeDm5sbBgwYgJiYGMPzUVFReOONN1CuXDmUKFECvr6+GDBggOH5a9euoVevXihTpgwcHBxQqVIlTJkyxfB8dpf6jx8/jtatW0On08HFxQV9+vTB7du3Dc9funQJSimsW7cOb775JkqXLg0fHx9MnToVer3+sb+/+/btw/Xr19GjR48sz+3atQv37t3DuHHj0KhRI8PovyDi4uLw+eefY9CgQahRo0aW511dXdG4ceMCHz8/du3aBQCZ3qu3tzeaNm2K7du35/i6lJQU6PV6lC5dOtN2Z2fnTJf6t2/fjvr166NChQqGbd26dYO9vT127Nhh2GZjk79Iff75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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot ROC\n",
    "fig = plt.figure(figsize = (8, 5))\n",
    "ax = plt.subplot(111)\n",
    "\n",
    "plt.plot(fpr_tree, tpr_tree, label='Logistic Regression: ' + '(AUC = %0.3f)'%auc_tree)\n",
    "plt.plot([0,1], [0,1], 'k--')\n",
    "\n",
    "plt.xlim([0.0, 1.0])\n",
    "plt.ylim([0.0, 1.0])\n",
    "plt.xlabel('FPR',fontsize=15)\n",
    "plt.ylabel('TPR',fontsize=15)\n",
    "plt.legend(fontsize=15)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Naive Bayes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Accuracy:  0.7672551454932577\n"
     ]
    }
   ],
   "source": [
    "from sklearn.naive_bayes import BernoulliNB\n",
    "\n",
    "nb = BernoulliNB()\n",
    "nb.fit(X_train.values, y_train.values)\n",
    "\n",
    "preds_nb = nb.predict_proba(X_test.values)[:, 1]\n",
    "\n",
    "fpr_nb, tpr_nb, _ = roc_curve(y_test.values, preds_nb)\n",
    "auc_nb = auc(fpr_nb, tpr_nb)\n",
    "\n",
    "accuracy_nb = accuracy_score(y_test, nb.predict(X_test))\n",
    "print('Accuracy: ', accuracy_nb)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x12c55fe48>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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LzFp0iRWrFiR9H7iHwgP25Xw22+/UbZsWdzd3VO9t3TpUjw9PWncuDHdunXjwIEDSd9Xj2vv3r2Eh4fTokWLDM2vtSY2Nvahj/QEBQXh4+OT6vTncuXKpbtdibsBnJycUkx3cnLi3LlzqY5NaNSoEfb29vj6+jJlypSH7qe/fv06p06domzZsqly5c+fn19//TXd+bNMRocKrOnh5mNdQ/2//vqr9vPz00WLFtWRkZFGx7EJOWGof9GiRdre3l7/+++/SdMuXLigHR0d9dSpU7XWWh86dEgDevny5UltIiIitLu7uy5evHjStC+++EID+s6dO1prrQcMGKA7duz4wHU/aKj//uX88ssvGtCrV69+5O3WOn6of+7cuTomJkbfvn1bf/fdd9rJyUkvXbo0qY3ZbNbFihXTPXv2TDHvZ599pnPlyqVv3Lihtda6c+fOukKFCtpsNie1mTZtmgb0F198kTStePHiulChQqn+D9atW1c3aNAgxbTffvstxVBuhQoV9Lx58x64Pa6urnrNmjUPfP+VV17RTz/9dNLrkSNH6rx58+pbt24lTdu5c6cG9Hfffae11vrMmTMa0D169EixrCpVquguXbokvT579myqYe20NG3aVHfu3DnV9IiICO3m5qb79euntdY6ODhY29vb63fffTdFu0cd6l+6dKkGdFBQULp5HiTxd+xhj/S8/vrrukqVKqmmjx07VhcuXPiB8x08eFADKX6WZrNZlytXTgP60qVLWmut9+3bp0eNGqXXrVunN2/erAcPHqzt7Oz0m2++mW6uHj166AIFCiT97iZXv3593b1793Tnz6qhfpu4cp+1jPRfuXKFoUOHsnTpUkqVKkVgYCC5cuUyOpbNmrj2CEcv3zZk3eWL5GF8mwqZusxdu3ZRrVo1SpYsmTTNx8eHOnXq8NdffwEkHW2cODQP8Rf6aNKkCTt37nzgsp966ik+++wzxo8fT+vWrXn66aext7d/7Iy///47BQoUoG3bto897+DBgxk8eHDS6yFDhtC1a9ek1ydOnOD8+fO88MILKXp4jRo1IioqisOHD1O/fn12795Nt27dUvTA27Zty8iRI1Ots3Hjxin+D0ZERLBjxw7mz5+fYh1169bF0dGRvXv3UrFiRZ566immT5+Ovb09TZo0SdVje+qppxg9ejQhISE0atSIYsWKpbvtu3bt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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot ROC\n",
    "fig = plt.figure(figsize = (8, 5))\n",
    "ax = plt.subplot(111)\n",
    "\n",
    "plt.plot(fpr_nb, tpr_nb, label='Logistic Regression: ' + '(AUC = %0.3f)'%auc_nb)\n",
    "plt.plot([0,1], [0,1], 'k--')\n",
    "\n",
    "plt.xlim([0.0, 1.0])\n",
    "plt.ylim([0.0, 1.0])\n",
    "plt.xlabel('FPR',fontsize=15)\n",
    "plt.ylabel('TPR',fontsize=15)\n",
    "plt.legend(fontsize=15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
